// To change feature flags, edit:
//  pkg/services/featuremgmt/registry.go
// Then run tests in:
//  pkg/services/featuremgmt/toggles_gen_test.go
// twice to generate and validate the feature flag files

package featuremgmt

import (
	"time"
)

var (
	// Register each toggle here
	standardFeatureFlags = []FeatureFlag{
		{
			Name:              "disableEnvelopeEncryption",
			Description:       "Disable envelope encryption (emergency only)",
			Stage:             FeatureStageGeneralAvailability,
			Owner:             grafanaAsCodeSquad,
			HideFromAdminPage: true,
			AllowSelfServe:    false,
			Created:           time.Date(2022, time.May, 24, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "live-service-web-worker",
			Description:  "This will use a webworker thread to processes events rather than the main thread",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaAppPlatformSquad,
			Created:      time.Date(2021, time.November, 9, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "queryOverLive",
			Description:  "Use Grafana Live WebSocket to execute backend queries",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaAppPlatformSquad,
			Created:      time.Date(2022, time.January, 5, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:              "panelTitleSearch",
			Description:       "Search for dashboards using panel title",
			Stage:             FeatureStagePublicPreview,
			Owner:             grafanaAppPlatformSquad,
			HideFromAdminPage: true,
			Created:           time.Date(2022, time.February, 15, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "publicDashboards",
			Description:    "[Deprecated] Public dashboards are now enabled by default; to disable them, use the configuration setting. This feature toggle will be removed in the next major version.",
			Stage:          FeatureStageGeneralAvailability,
			Owner:          grafanaSharingSquad,
			Expression:     "true", // enabled by default
			AllowSelfServe: true,
			Created:        time.Date(2022, time.April, 7, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:              "publicDashboardsEmailSharing",
			Description:       "Enables public dashboard sharing to be restricted to only allowed emails",
			Stage:             FeatureStagePublicPreview,
			RequiresLicense:   true,
			Owner:             grafanaSharingSquad,
			HideFromDocs:      true,
			HideFromAdminPage: true,
			Created:           time.Date(2022, time.December, 21, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "lokiExperimentalStreaming",
			Description: "Support new streaming approach for loki (prototype, needs special loki build)",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaObservabilityLogsSquad,
			Created:     time.Date(2023, time.June, 19, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "featureHighlights",
			Description:    "Highlight Grafana Enterprise features",
			Stage:          FeatureStageGeneralAvailability,
			Owner:          grafanaAsCodeSquad,
			AllowSelfServe: true,
			Created:        time.Date(2022, time.February, 3, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "migrationLocking",
			Description: "Lock database during migrations",
			Stage:       FeatureStagePublicPreview,
			Owner:       grafanaBackendPlatformSquad,
			Created:     time.Date(2022, time.February, 15, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "storage",
			Description: "Configurable storage for dashboards, datasources, and resources",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaAppPlatformSquad,
			Created:     time.Date(2022, time.March, 17, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "correlations",
			Description: "Correlations page",
			Stage:       FeatureStagePublicPreview,
			Owner:       grafanaExploreSquad,
			Created:     time.Date(2022, time.September, 16, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "exploreContentOutline",
			Description:    "Content outline sidebar",
			Stage:          FeatureStageGeneralAvailability,
			Owner:          grafanaExploreSquad,
			Expression:     "true", // enabled by default
			FrontendOnly:   true,
			AllowSelfServe: true,
			Created:        time.Date(2023, time.November, 3, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "datasourceQueryMultiStatus",
			Description: "Introduce HTTP 207 Multi Status for api/ds/query",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaPluginsPlatformSquad,
			Created:     time.Date(2022, time.May, 3, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "traceToMetrics",
			Description:  "Enable trace to metrics links",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaObservabilityTracesAndProfilingSquad,
			Created:      time.Date(2022, time.March, 7, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "autoMigrateOldPanels",
			Description:  "Migrate old angular panels to supported versions (graph, table-old, worldmap, etc)",
			Stage:        FeatureStagePublicPreview,
			FrontendOnly: true,
			Owner:        grafanaDatavizSquad,
			Created:      time.Date(2022, time.June, 11, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:              "disableAngular",
			Description:       "Dynamic flag to disable angular at runtime. The preferred method is to set `angular_support_enabled` to `false` in the [security] settings, which allows you to change the state at runtime.",
			Stage:             FeatureStagePublicPreview,
			FrontendOnly:      true,
			Owner:             grafanaDatavizSquad,
			HideFromAdminPage: true,
			Created:           time.Date(2023, time.March, 23, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:              "canvasPanelNesting",
			Description:       "Allow elements nesting",
			Stage:             FeatureStageExperimental,
			FrontendOnly:      true,
			Owner:             grafanaDatavizSquad,
			HideFromAdminPage: true,
			Created:           time.Date(2022, time.May, 31, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "newVizTooltips",
			Description:    "New visualizations tooltips UX",
			Stage:          FeatureStagePublicPreview,
			FrontendOnly:   true,
			Owner:          grafanaDatavizSquad,
			AllowSelfServe: false,
			Created:        time.Date(2023, time.November, 3, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "scenes",
			Description:  "Experimental framework to build interactive dashboards",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaDashboardsSquad,
			Created:      time.Date(2022, time.July, 7, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "disableSecretsCompatibility",
			Description:     "Disable duplicated secret storage in legacy tables",
			Stage:           FeatureStageExperimental,
			RequiresRestart: true,
			Owner:           hostedGrafanaTeam,
			Created:         time.Date(2022, time.July, 13, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "logRequestsInstrumentedAsUnknown",
			Description: "Logs the path for requests that are instrumented as unknown",
			Stage:       FeatureStageExperimental,
			Owner:       hostedGrafanaTeam,
			Created:     time.Date(2022, time.June, 10, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "dataConnectionsConsole",
			Description:    "Enables a new top-level page called Connections. This page is an experiment that provides a better experience when you install and configure data sources and other plugins.",
			Stage:          FeatureStageGeneralAvailability,
			Expression:     "true", // turned on by default
			Owner:          grafanaPluginsPlatformSquad,
			AllowSelfServe: true,
			Created:        time.Date(2022, time.June, 1, 12, 0, 0, 0, time.UTC),
		},
		{
			// Some plugins rely on topnav feature flag being enabled, so we cannot remove this until we
			// can afford the breaking change, or we've detemined no one else is relying on it
			Name:        "topnav",
			Description: "Enables topnav support in external plugins. The new Grafana navigation cannot be disabled.",
			Stage:       FeatureStageDeprecated,
			Expression:  "true", // enabled by default
			Owner:       grafanaFrontendPlatformSquad,
			Created:     time.Date(2022, time.June, 20, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "dockedMegaMenu",
			Description:  "Enable support for a persistent (docked) navigation menu",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaFrontendPlatformSquad,
			Created:      time.Date(2023, time.September, 18, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:              "grpcServer",
			Description:       "Run the GRPC server",
			Stage:             FeatureStagePublicPreview,
			Owner:             grafanaAppPlatformSquad,
			HideFromAdminPage: true,
			Created:           time.Date(2022, time.September, 27, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "unifiedStorage",
			Description:     "SQL-based k8s storage",
			Stage:           FeatureStageExperimental,
			RequiresDevMode: true,
			RequiresRestart: true, // new SQL tables created
			Owner:           grafanaAppPlatformSquad,
			Created:         time.Date(2022, time.December, 1, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "cloudWatchCrossAccountQuerying",
			Description:    "Enables cross-account querying in CloudWatch datasources",
			Stage:          FeatureStageGeneralAvailability,
			Expression:     "true", // enabled by default
			Owner:          awsDatasourcesSquad,
			AllowSelfServe: true,
			Created:        time.Date(2022, time.November, 28, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "redshiftAsyncQueryDataSupport",
			Description:    "Enable async query data support for Redshift",
			Stage:          FeatureStageGeneralAvailability,
			Expression:     "true", // enabled by default
			Owner:          awsDatasourcesSquad,
			AllowSelfServe: false,
			Created:        time.Date(2022, time.August, 27, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "athenaAsyncQueryDataSupport",
			Description:    "Enable async query data support for Athena",
			Stage:          FeatureStageGeneralAvailability,
			Expression:     "true", // enabled by default
			FrontendOnly:   true,
			Owner:          awsDatasourcesSquad,
			AllowSelfServe: false,
			Created:        time.Date(2022, time.August, 27, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "cloudwatchNewRegionsHandler",
			Description:    "Refactor of /regions endpoint, no user-facing changes",
			Stage:          FeatureStageGeneralAvailability,
			Expression:     "true", // enabled by default
			Owner:          awsDatasourcesSquad,
			AllowSelfServe: true,
			Created:        time.Date(2023, time.September, 25, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "showDashboardValidationWarnings",
			Description: "Show warnings when dashboards do not validate against the schema",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaDashboardsSquad,
			Created:     time.Date(2022, time.October, 14, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "mysqlAnsiQuotes",
			Description: "Use double quotes to escape keyword in a MySQL query",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaBackendPlatformSquad,
			Created:     time.Date(2022, time.October, 12, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:              "accessControlOnCall",
			Description:       "Access control primitives for OnCall",
			Stage:             FeatureStagePublicPreview,
			Owner:             identityAccessTeam,
			HideFromAdminPage: true,
			Created:           time.Date(2022, time.October, 19, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "nestedFolders",
			Description: "Enable folder nesting",
			Stage:       FeatureStagePublicPreview,
			Owner:       grafanaBackendPlatformSquad,
			Created:     time.Date(2022, time.October, 22, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "nestedFolderPicker",
			Description:    "Enables the new folder picker to work with nested folders. Requires the nestedFolders feature toggle",
			Stage:          FeatureStageGeneralAvailability,
			Owner:          grafanaFrontendPlatformSquad,
			FrontendOnly:   true,
			Expression:     "true", // enabled by default
			AllowSelfServe: true,
			Created:        time.Date(2023, time.July, 24, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:              "emptyDashboardPage",
			Description:       "Enable the redesigned user interface of a dashboard page that includes no panels",
			Stage:             FeatureStageGeneralAvailability,
			FrontendOnly:      true,
			Expression:        "true", // enabled by default
			Owner:             grafanaDashboardsSquad,
			AllowSelfServe:    false,
			HideFromAdminPage: true,
			Created:           time.Date(2023, time.March, 28, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "disablePrometheusExemplarSampling",
			Description:    "Disable Prometheus exemplar sampling",
			Stage:          FeatureStageGeneralAvailability,
			Owner:          grafanaObservabilityMetricsSquad,
			AllowSelfServe: true,
			Created:        time.Date(2022, time.December, 19, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "alertingBacktesting",
			Description: "Rule backtesting API for alerting",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaAlertingSquad,
			Created:     time.Date(2022, time.October, 20, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "editPanelCSVDragAndDrop",
			Description:  "Enables drag and drop for CSV and Excel files",
			FrontendOnly: true,
			Stage:        FeatureStageExperimental,
			Owner:        grafanaBiSquad,
			Created:      time.Date(2022, time.December, 20, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:              "alertingNoNormalState",
			Description:       "Stop maintaining state of alerts that are not firing",
			Stage:             FeatureStagePublicPreview,
			RequiresRestart:   false,
			Owner:             grafanaAlertingSquad,
			HideFromAdminPage: true,
			Created:           time.Date(2023, time.January, 14, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "logsContextDatasourceUi",
			Description:    "Allow datasource to provide custom UI for context view",
			Stage:          FeatureStageGeneralAvailability,
			FrontendOnly:   true,
			Owner:          grafanaObservabilityLogsSquad,
			Expression:     "true", // turned on by default
			AllowSelfServe: true,
			Created:        time.Date(2023, time.January, 27, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "lokiQuerySplitting",
			Description:    "Split large interval queries into subqueries with smaller time intervals",
			Stage:          FeatureStageGeneralAvailability,
			FrontendOnly:   true,
			Owner:          grafanaObservabilityLogsSquad,
			Expression:     "true", // turned on by default
			AllowSelfServe: true,
			Created:        time.Date(2023, time.February, 9, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "lokiQuerySplittingConfig",
			Description:  "Give users the option to configure split durations for Loki queries",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaObservabilityLogsSquad,
			Created:      time.Date(2023, time.March, 20, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "individualCookiePreferences",
			Description: "Support overriding cookie preferences per user",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaBackendPlatformSquad,
			Created:     time.Date(2023, time.February, 23, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "prometheusMetricEncyclopedia",
			Description:    "Adds the metrics explorer component to the Prometheus query builder as an option in metric select",
			Expression:     "true",
			Stage:          FeatureStageGeneralAvailability,
			FrontendOnly:   true,
			Owner:          grafanaObservabilityMetricsSquad,
			AllowSelfServe: true,
			Created:        time.Date(2023, time.March, 7, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "influxdbBackendMigration",
			Description:    "Query InfluxDB InfluxQL without the proxy",
			Stage:          FeatureStageGeneralAvailability,
			FrontendOnly:   true,
			Owner:          grafanaObservabilityMetricsSquad,
			Expression:     "true", // enabled by default
			AllowSelfServe: false,
			Created:        time.Date(2023, time.March, 15, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "influxqlStreamingParser",
			Description: "Enable streaming JSON parser for InfluxDB datasource InfluxQL query language",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaObservabilityMetricsSquad,
			Created:     time.Date(2023, time.November, 29, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "clientTokenRotation",
			Description:    "Replaces the current in-request token rotation so that the client initiates the rotation",
			Stage:          FeatureStageGeneralAvailability,
			Expression:     "true",
			Owner:          identityAccessTeam,
			AllowSelfServe: false,
			Created:        time.Date(2023, time.March, 23, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "prometheusDataplane",
			Description:    "Changes responses to from Prometheus to be compliant with the dataplane specification. In particular, when this feature toggle is active, the numeric `Field.Name` is set from 'Value' to the value of the `__name__` label.",
			Expression:     "true",
			Stage:          FeatureStageGeneralAvailability,
			Owner:          grafanaObservabilityMetricsSquad,
			AllowSelfServe: true,
			Created:        time.Date(2023, time.March, 29, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "lokiMetricDataplane",
			Description:    "Changes metric responses from Loki to be compliant with the dataplane specification.",
			Stage:          FeatureStageGeneralAvailability,
			Expression:     "true",
			Owner:          grafanaObservabilityLogsSquad,
			AllowSelfServe: true,
			Created:        time.Date(2023, time.April, 13, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "lokiLogsDataplane",
			Description: "Changes logs responses from Loki to be compliant with the dataplane specification.",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaObservabilityLogsSquad,
			Created:     time.Date(2023, time.July, 13, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "dataplaneFrontendFallback",
			Description:    "Support dataplane contract field name change for transformations and field name matchers where the name is different",
			Stage:          FeatureStageGeneralAvailability,
			FrontendOnly:   true,
			Expression:     "true",
			Owner:          grafanaObservabilityMetricsSquad,
			AllowSelfServe: true,
			Created:        time.Date(2023, time.April, 24, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "disableSSEDataplane",
			Description: "Disables dataplane specific processing in server side expressions.",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaObservabilityMetricsSquad,
			Created:     time.Date(2023, time.April, 24, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "alertStateHistoryLokiSecondary",
			Description: "Enable Grafana to write alert state history to an external Loki instance in addition to Grafana annotations.",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaAlertingSquad,
			Created:     time.Date(2023, time.March, 30, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "alertStateHistoryLokiPrimary",
			Description: "Enable a remote Loki instance as the primary source for state history reads.",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaAlertingSquad,
			Created:     time.Date(2023, time.March, 30, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "alertStateHistoryLokiOnly",
			Description: "Disable Grafana alerts from emitting annotations when a remote Loki instance is available.",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaAlertingSquad,
			Created:     time.Date(2023, time.March, 30, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "unifiedRequestLog",
			Description: "Writes error logs to the request logger",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaBackendPlatformSquad,
			Created:     time.Date(2023, time.March, 31, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:              "renderAuthJWT",
			Description:       "Uses JWT-based auth for rendering instead of relying on remote cache",
			Stage:             FeatureStagePublicPreview,
			Owner:             grafanaAsCodeSquad,
			HideFromAdminPage: true,
			Created:           time.Date(2023, time.April, 3, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "externalServiceAuth",
			Description:     "Starts an OAuth2 authentication provider for external services",
			Stage:           FeatureStageExperimental,
			RequiresDevMode: true,
			Owner:           identityAccessTeam,
			Created:         time.Date(2023, time.April, 11, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:              "refactorVariablesTimeRange",
			Description:       "Refactor time range variables flow to reduce number of API calls made when query variables are chained",
			Stage:             FeatureStagePublicPreview,
			Owner:             grafanaDashboardsSquad,
			HideFromAdminPage: true, // Non-feature, used to test out a bug fix that impacts the performance of template variables.
			Created:           time.Date(2023, time.June, 6, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "useCachingService",
			Description:     "When active, the new query and resource caching implementation using a wire service inject replaces the previous middleware implementation.",
			Stage:           FeatureStageGeneralAvailability,
			Owner:           grafanaOperatorExperienceSquad,
			RequiresRestart: true,
			Expression:      "true", // enabled by default
			AllowSelfServe:  false,
			Created:         time.Date(2023, time.April, 12, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "enableElasticsearchBackendQuerying",
			Description:    "Enable the processing of queries and responses in the Elasticsearch data source through backend",
			Stage:          FeatureStageGeneralAvailability,
			Owner:          grafanaObservabilityLogsSquad,
			Expression:     "true", // enabled by default
			AllowSelfServe: true,
			Created:        time.Date(2023, time.April, 14, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:              "advancedDataSourcePicker",
			Description:       "Enable a new data source picker with contextual information, recently used order and advanced mode",
			Stage:             FeatureStageGeneralAvailability,
			FrontendOnly:      true,
			Expression:        "true", // enabled by default
			Owner:             grafanaDashboardsSquad,
			AllowSelfServe:    false,
			HideFromAdminPage: true,
			Created:           time.Date(2023, time.April, 14, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "faroDatasourceSelector",
			Description:  "Enable the data source selector within the Frontend Apps section of the Frontend Observability",
			Stage:        FeatureStagePublicPreview,
			FrontendOnly: true,
			Owner:        appO11ySquad,
			Created:      time.Date(2023, time.May, 4, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "enableDatagridEditing",
			Description:  "Enables the edit functionality in the datagrid panel",
			FrontendOnly: true,
			Stage:        FeatureStagePublicPreview,
			Owner:        grafanaBiSquad,
			Created:      time.Date(2023, time.April, 24, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "extraThemes",
			Description:  "Enables extra themes",
			FrontendOnly: true,
			Stage:        FeatureStageExperimental,
			Owner:        grafanaFrontendPlatformSquad,
			Created:      time.Date(2023, time.May, 10, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "lokiPredefinedOperations",
			Description:  "Adds predefined query operations to Loki query editor",
			FrontendOnly: true,
			Stage:        FeatureStageExperimental,
			Owner:        grafanaObservabilityLogsSquad,
			Created:      time.Date(2023, time.June, 2, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "pluginsFrontendSandbox",
			Description:  "Enables the plugins frontend sandbox",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaPluginsPlatformSquad,
			Created:      time.Date(2023, time.June, 5, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "dashboardEmbed",
			Description:  "Allow embedding dashboard for external use in Code editors",
			FrontendOnly: true,
			Stage:        FeatureStageExperimental,
			Owner:        grafanaAsCodeSquad,
			Created:      time.Date(2023, time.July, 6, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "frontendSandboxMonitorOnly",
			Description:  "Enables monitor only in the plugin frontend sandbox (if enabled)",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaPluginsPlatformSquad,
			Created:      time.Date(2023, time.July, 5, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:              "sqlDatasourceDatabaseSelection",
			Description:       "Enables previous SQL data source dataset dropdown behavior",
			FrontendOnly:      true,
			Stage:             FeatureStagePublicPreview,
			Owner:             grafanaBiSquad,
			HideFromAdminPage: true,
			Created:           time.Date(2023, time.June, 6, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "lokiFormatQuery",
			Description:  "Enables the ability to format Loki queries",
			FrontendOnly: true,
			Stage:        FeatureStageExperimental,
			Owner:        grafanaObservabilityLogsSquad,
			Created:      time.Date(2023, time.June, 21, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "cloudWatchLogsMonacoEditor",
			Description:    "Enables the Monaco editor for CloudWatch Logs queries",
			Stage:          FeatureStageGeneralAvailability,
			FrontendOnly:   true,
			Expression:     "true", // enabled by default
			Owner:          awsDatasourcesSquad,
			AllowSelfServe: true,
			Created:        time.Date(2023, time.June, 12, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "exploreScrollableLogsContainer",
			Description:  "Improves the scrolling behavior of logs in Explore",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaObservabilityLogsSquad,
			Created:      time.Date(2023, time.June, 15, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "recordedQueriesMulti",
			Description:    "Enables writing multiple items from a single query within Recorded Queries",
			Stage:          FeatureStageGeneralAvailability,
			Expression:     "true",
			Owner:          grafanaObservabilityMetricsSquad,
			AllowSelfServe: false,
			Created:        time.Date(2023, time.June, 14, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "pluginsDynamicAngularDetectionPatterns",
			Description:  "Enables fetching Angular detection patterns for plugins from GCOM and fallback to hardcoded ones",
			Stage:        FeatureStageExperimental,
			FrontendOnly: false,
			Owner:        grafanaPluginsPlatformSquad,
			Created:      time.Date(2023, time.June, 26, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "vizAndWidgetSplit",
			Description:  "Split panels between visualizations and widgets",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaDashboardsSquad,
			Created:      time.Date(2023, time.June, 27, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "prometheusIncrementalQueryInstrumentation",
			Description:  "Adds RudderStack events to incremental queries",
			FrontendOnly: true,
			Stage:        FeatureStageExperimental,
			Owner:        grafanaObservabilityMetricsSquad,
			Created:      time.Date(2023, time.July, 5, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "logsExploreTableVisualisation",
			Description:  "A table visualisation for logs in Explore",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaObservabilityLogsSquad,
			Created:      time.Date(2023, time.July, 12, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "awsDatasourcesTempCredentials",
			Description: "Support temporary security credentials in AWS plugins for Grafana Cloud customers",
			Stage:       FeatureStageExperimental,
			Owner:       awsDatasourcesSquad,
			Created:     time.Date(2023, time.July, 6, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "transformationsRedesign",
			Description:    "Enables the transformations redesign",
			Stage:          FeatureStageGeneralAvailability,
			FrontendOnly:   true,
			Expression:     "true", // enabled by default
			Owner:          grafanaObservabilityMetricsSquad,
			AllowSelfServe: true,
			Created:        time.Date(2023, time.July, 12, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "mlExpressions",
			Description:  "Enable support for Machine Learning in server-side expressions",
			Stage:        FeatureStageExperimental,
			FrontendOnly: false,
			Owner:        grafanaAlertingSquad,
			Created:      time.Date(2023, time.July, 13, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "traceQLStreaming",
			Description:  "Enables response streaming of TraceQL queries of the Tempo data source",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaObservabilityTracesAndProfilingSquad,
			Created:      time.Date(2023, time.July, 26, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "metricsSummary",
			Description:  "Enables metrics summary queries in the Tempo data source",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaObservabilityTracesAndProfilingSquad,
			Created:      time.Date(2023, time.August, 28, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "grafanaAPIServer",
			Description:     "Enable Kubernetes API Server for Grafana resources",
			Stage:           FeatureStageGeneralAvailability,
			Expression:      "true", // enabled by default
			RequiresRestart: true,
			Owner:           grafanaAppPlatformSquad,
			Created:         time.Date(2023, time.July, 14, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "grafanaAPIServerWithExperimentalAPIs",
			Description:     "Register experimental APIs with the k8s API server",
			Stage:           FeatureStageExperimental,
			RequiresRestart: true,
			RequiresDevMode: true,
			Owner:           grafanaAppPlatformSquad,
			Created:         time.Date(2023, time.October, 6, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "grafanaAPIServerEnsureKubectlAccess",
			Description:     "Start an additional https handler and write kubectl options",
			Stage:           FeatureStageExperimental,
			RequiresDevMode: true,
			RequiresRestart: true,
			Owner:           grafanaAppPlatformSquad,
			Created:         time.Date(2023, time.December, 6, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "featureToggleAdminPage",
			Description:     "Enable admin page for managing feature toggles from the Grafana front-end",
			Stage:           FeatureStageExperimental,
			FrontendOnly:    false,
			Owner:           grafanaOperatorExperienceSquad,
			RequiresRestart: true,
			Created:         time.Date(2023, time.July, 18, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "awsAsyncQueryCaching",
			Description: "Enable caching for async queries for Redshift and Athena. Requires that the `useCachingService` feature toggle is enabled and the datasource has caching and async query support enabled",
			Stage:       FeatureStageGeneralAvailability,
			Expression:  "true", // enabled by default
			Owner:       awsDatasourcesSquad,
			Created:     time.Date(2023, time.July, 21, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:              "splitScopes",
			Description:       "Support faster dashboard and folder search by splitting permission scopes into parts",
			Stage:             FeatureStageGeneralAvailability,
			FrontendOnly:      false,
			Expression:        "true", // enabled by default
			Owner:             identityAccessTeam,
			RequiresRestart:   true,
			HideFromAdminPage: true, // This is internal work to speed up dashboard search, and is not ready for wider use
			Created:           time.Date(2023, time.July, 21, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "traceToProfiles",
			Description:  "Enables linking between traces and profiles",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaObservabilityTracesAndProfilingSquad,
			Created:      time.Date(2023, time.November, 1, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "tracesEmbeddedFlameGraph",
			Description:  "Enables embedding a flame graph in traces",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaObservabilityTracesAndProfilingSquad,
			Created:      time.Date(2023, time.November, 2, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "permissionsFilterRemoveSubquery",
			Description: "Alternative permission filter implementation that does not use subqueries for fetching the dashboard folder",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaBackendPlatformSquad,
			Created:     time.Date(2023, time.August, 2, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "prometheusConfigOverhaulAuth",
			Description:    "Update the Prometheus configuration page with the new auth component",
			Owner:          grafanaObservabilityMetricsSquad,
			Stage:          FeatureStageGeneralAvailability,
			Expression:     "true", // on by default
			AllowSelfServe: false,
			Created:        time.Date(2023, time.July, 21, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "configurableSchedulerTick",
			Description:     "Enable changing the scheduler base interval via configuration option unified_alerting.scheduler_tick_interval",
			Stage:           FeatureStageExperimental,
			FrontendOnly:    false,
			Owner:           grafanaAlertingSquad,
			RequiresRestart: true,
			HideFromDocs:    true,
			Created:         time.Date(2023, time.July, 26, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "influxdbSqlSupport",
			Description:     "Enable InfluxDB SQL query language support with new querying UI",
			Stage:           FeatureStageGeneralAvailability,
			FrontendOnly:    false,
			Owner:           grafanaObservabilityMetricsSquad,
			RequiresRestart: true,
			AllowSelfServe:  true,
			Expression:      "true", // enabled by default
			Created:         time.Date(2023, time.August, 2, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "alertingNoDataErrorExecution",
			Description:     "Changes how Alerting state manager handles execution of NoData/Error",
			Stage:           FeatureStagePrivatePreview,
			FrontendOnly:    false,
			Owner:           grafanaAlertingSquad,
			RequiresRestart: true,
			Enabled:         true,
			Created:         time.Date(2023, time.August, 15, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "angularDeprecationUI",
			Description:  "Display new Angular deprecation-related UI features",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaPluginsPlatformSquad,
			Created:      time.Date(2023, time.August, 29, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "dashgpt",
			Description:  "Enable AI powered features in dashboards",
			Stage:        FeatureStagePublicPreview,
			FrontendOnly: true,
			Owner:        grafanaDashboardsSquad,
			Created:      time.Date(2023, time.November, 17, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "reportingRetries",
			Description:     "Enables rendering retries for the reporting feature",
			Stage:           FeatureStagePublicPreview,
			FrontendOnly:    false,
			Owner:           grafanaSharingSquad,
			RequiresRestart: true,
			Created:         time.Date(2023, time.August, 31, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "sseGroupByDatasource",
			Description: "Send query to the same datasource in a single request when using server side expressions",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaObservabilityMetricsSquad,
			Created:     time.Date(2023, time.September, 7, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "requestInstrumentationStatusSource",
			Description:  "Include a status source label for request metrics and logs",
			Stage:        FeatureStageExperimental,
			FrontendOnly: false,
			Owner:        grafanaPluginsPlatformSquad,
			Created:      time.Date(2023, time.September, 11, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "libraryPanelRBAC",
			Description:     "Enables RBAC support for library panels",
			Stage:           FeatureStageExperimental,
			FrontendOnly:    false,
			Owner:           grafanaDashboardsSquad,
			RequiresRestart: true,
			Created:         time.Date(2023, time.October, 11, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "lokiRunQueriesInParallel",
			Description:  "Enables running Loki queries in parallel",
			Stage:        FeatureStagePrivatePreview,
			FrontendOnly: false,
			Owner:        grafanaObservabilityLogsSquad,
			Created:      time.Date(2023, time.September, 19, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "wargamesTesting",
			Description:  "Placeholder feature flag for internal testing",
			Stage:        FeatureStageExperimental,
			FrontendOnly: false,
			Owner:        hostedGrafanaTeam,
			Created:      time.Date(2023, time.September, 13, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:              "alertingInsights",
			Description:       "Show the new alerting insights landing page",
			FrontendOnly:      true,
			Stage:             FeatureStageGeneralAvailability,
			Owner:             grafanaAlertingSquad,
			Expression:        "true", // enabled by default
			AllowSelfServe:    false,
			HideFromAdminPage: true, // This is moving away from being a feature toggle.
			Created:           time.Date(2023, time.September, 14, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "externalCorePlugins",
			Description: "Allow core plugins to be loaded as external",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaPluginsPlatformSquad,
			Created:     time.Date(2023, time.September, 22, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "pluginsAPIMetrics",
			Description:  "Sends metrics of public grafana packages usage by plugins",
			FrontendOnly: true,
			Stage:        FeatureStageExperimental,
			Owner:        grafanaPluginsPlatformSquad,
			Created:      time.Date(2023, time.September, 21, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "httpSLOLevels",
			Description:     "Adds SLO level to http request metrics",
			Stage:           FeatureStageExperimental,
			FrontendOnly:    false,
			Owner:           hostedGrafanaTeam,
			RequiresRestart: true,
			Created:         time.Date(2023, time.September, 22, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "idForwarding",
			Description: "Generate signed id token for identity that can be forwarded to plugins and external services",
			Stage:       FeatureStageExperimental,
			Owner:       identityAccessTeam,
			Created:     time.Date(2023, time.September, 25, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "cloudWatchWildCardDimensionValues",
			Description:    "Fetches dimension values from CloudWatch to correctly label wildcard dimensions",
			Stage:          FeatureStageGeneralAvailability,
			Expression:     "true", // enabled by default
			Owner:          awsDatasourcesSquad,
			AllowSelfServe: true,
			Created:        time.Date(2023, time.September, 27, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "externalServiceAccounts",
			Description: "Automatic service account and token setup for plugins",
			Stage:       FeatureStagePrivatePreview,
			Owner:       identityAccessTeam,
			Created:     time.Date(2023, time.September, 28, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "panelMonitoring",
			Description:  "Enables panel monitoring through logs and measurements",
			Stage:        FeatureStageExperimental,
			Owner:        grafanaDatavizSquad,
			FrontendOnly: true,
			Created:      time.Date(2023, time.October, 8, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "enableNativeHTTPHistogram",
			Description:  "Enables native HTTP Histograms",
			Stage:        FeatureStageExperimental,
			FrontendOnly: false,
			Owner:        hostedGrafanaTeam,
			Created:      time.Date(2023, time.October, 3, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "formatString",
			Description:  "Enable format string transformer",
			Stage:        FeatureStagePublicPreview,
			FrontendOnly: true,
			Owner:        grafanaBiSquad,
			Created:      time.Date(2023, time.October, 13, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "transformationsVariableSupport",
			Description:  "Allows using variables in transformations",
			FrontendOnly: true,
			Stage:        FeatureStagePublicPreview,
			Owner:        grafanaBiSquad,
			Created:      time.Date(2023, time.October, 4, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "kubernetesPlaylists",
			Description:     "Use the kubernetes API in the frontend for playlists, and route /api/playlist requests to k8s",
			Stage:           FeatureStageExperimental,
			Owner:           grafanaAppPlatformSquad,
			RequiresRestart: true, // changes the API routing
			Created:         time.Date(2023, time.November, 8, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "kubernetesSnapshots",
			Description:     "Use the kubernetes API in the frontend to support playlists",
			Stage:           FeatureStageExperimental,
			Owner:           grafanaAppPlatformSquad,
			RequiresRestart: true, // changes the API routing
			Created:         time.Date(2023, time.December, 4, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "cloudWatchBatchQueries",
			Description: "Runs CloudWatch metrics queries as separate batches",
			Stage:       FeatureStagePublicPreview,
			Owner:       awsDatasourcesSquad,
			Created:     time.Date(2023, time.October, 20, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "recoveryThreshold",
			Description:     "Enables feature recovery threshold (aka hysteresis) for threshold server-side expression",
			Stage:           FeatureStageGeneralAvailability,
			FrontendOnly:    false,
			Owner:           grafanaAlertingSquad,
			RequiresRestart: true,
			Created:         time.Date(2023, time.October, 10, 12, 0, 0, 0, time.UTC),
			Expression:      "true",
		},
		{
			Name:         "lokiStructuredMetadata",
			Description:  "Enables the loki data source to request structured metadata from the Loki server",
			Stage:        FeatureStageExperimental,
			FrontendOnly: false,
			Owner:        grafanaObservabilityLogsSquad,
			Created:      time.Date(2023, time.November, 16, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "teamHttpHeaders",
			Description:  "Enables datasources to apply team headers to the client requests",
			Stage:        FeatureStageExperimental,
			FrontendOnly: false,
			Owner:        identityAccessTeam,
			Created:      time.Date(2023, time.October, 17, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "awsDatasourcesNewFormStyling",
			Description:  "Applies new form styling for configuration and query editors in AWS plugins",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        awsDatasourcesSquad,
			Created:      time.Date(2023, time.October, 12, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "cachingOptimizeSerializationMemoryUsage",
			Description:  "If enabled, the caching backend gradually serializes query responses for the cache, comparing against the configured `[caching]max_value_mb` value as it goes. This can can help prevent Grafana from running out of memory while attempting to cache very large query responses.",
			Stage:        FeatureStageExperimental,
			Owner:        grafanaOperatorExperienceSquad,
			FrontendOnly: false,
			Created:      time.Date(2023, time.October, 12, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "panelTitleSearchInV1",
			Description:     "Enable searching for dashboards using panel title in search v1",
			RequiresDevMode: true,
			Stage:           FeatureStageExperimental,
			Owner:           grafanaBackendPlatformSquad,
			Created:         time.Date(2023, time.October, 13, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "pluginsInstrumentationStatusSource",
			Description:  "Include a status source label for plugin request metrics and logs",
			FrontendOnly: false,
			Stage:        FeatureStageExperimental,
			Owner:        grafanaPluginsPlatformSquad,
			Created:      time.Date(2023, time.October, 17, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "costManagementUi",
			Description:  "Toggles the display of the cost management ui plugin",
			Stage:        FeatureStageExperimental,
			FrontendOnly: false,
			Owner:        grafanaDatabasesFrontend,
			Created:      time.Date(2023, time.October, 17, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "managedPluginsInstall",
			Description:     "Install managed plugins directly from plugins catalog",
			Stage:           FeatureStageExperimental,
			RequiresDevMode: false,
			Owner:           grafanaPluginsPlatformSquad,
			Created:         time.Date(2023, time.October, 18, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "prometheusPromQAIL",
			Description:  "Prometheus and AI/ML to assist users in creating a query",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaObservabilityMetricsSquad,
			Created:      time.Date(2023, time.October, 19, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "addFieldFromCalculationStatFunctions",
			Description:  "Add cumulative and window functions to the add field from calculation transformation",
			Stage:        FeatureStagePublicPreview,
			FrontendOnly: true,
			Owner:        grafanaBiSquad,
			Created:      time.Date(2023, time.November, 3, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "alertmanagerRemoteSecondary",
			Description: "Enable Grafana to sync configuration and state with a remote Alertmanager.",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaAlertingSquad,
			Created:     time.Date(2023, time.October, 30, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "alertmanagerRemotePrimary",
			Description: "Enable Grafana to have a remote Alertmanager instance as the primary Alertmanager.",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaAlertingSquad,
			Created:     time.Date(2023, time.October, 30, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:        "alertmanagerRemoteOnly",
			Description: "Disable the internal Alertmanager and only use the external one defined.",
			Stage:       FeatureStageExperimental,
			Owner:       grafanaAlertingSquad,
			Created:     time.Date(2023, time.October, 30, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "annotationPermissionUpdate",
			Description:     "Separate annotation permissions from dashboard permissions to allow for more granular control.",
			Stage:           FeatureStageExperimental,
			RequiresDevMode: false,
			Owner:           identityAccessTeam,
			Created:         time.Date(2023, time.October, 31, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "extractFieldsNameDeduplication",
			Description:  "Make sure extracted field names are unique in the dataframe",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaBiSquad,
			Created:      time.Date(2023, time.November, 2, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "dashboardSceneForViewers",
			Description:  "Enables dashboard rendering using Scenes for viewer roles",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaDashboardsSquad,
			Created:      time.Date(2023, time.November, 2, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "dashboardScene",
			Description:  "Enables dashboard rendering using scenes for all roles",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaDashboardsSquad,
			Created:      time.Date(2023, time.November, 13, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "panelFilterVariable",
			Description:  "Enables use of the `systemPanelFilterVar` variable to filter panels in a dashboard",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaDashboardsSquad,
			HideFromDocs: true,
			Created:      time.Date(2023, time.November, 3, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "pdfTables",
			Description:  "Enables generating table data as PDF in reporting",
			Stage:        FeatureStagePublicPreview,
			FrontendOnly: false,
			Owner:        grafanaSharingSquad,
			Created:      time.Date(2023, time.November, 6, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "ssoSettingsApi",
			Description:     "Enables the SSO settings API",
			RequiresDevMode: true,
			Stage:           FeatureStageExperimental,
			FrontendOnly:    false,
			Owner:           identityAccessTeam,
			Created:         time.Date(2023, time.November, 8, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "canvasPanelPanZoom",
			Description:  "Allow pan and zoom in canvas panel",
			Stage:        FeatureStagePublicPreview,
			FrontendOnly: true,
			Owner:        grafanaDatavizSquad,
			Created:      time.Date(2023, time.December, 27, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "logsInfiniteScrolling",
			Description:  "Enables infinite scrolling for the Logs panel in Explore and Dashboards",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaObservabilityLogsSquad,
			Created:      time.Date(2023, time.November, 9, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "flameGraphItemCollapsing",
			Description:  "Allow collapsing of flame graph items",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaObservabilityTracesAndProfilingSquad,
			Created:      time.Date(2023, time.November, 9, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "alertingDetailsViewV2",
			Description:  "Enables the preview of the new alert details view",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaAlertingSquad,
			HideFromDocs: true,
			Created:      time.Date(2023, time.November, 9, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "datatrails",
			Description:  "Enables the new core app datatrails",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaDashboardsSquad,
			HideFromDocs: true,
			Created:      time.Date(2023, time.November, 15, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "alertingSimplifiedRouting",
			Description:  "Enables the simplified routing for alerting",
			Stage:        FeatureStageExperimental,
			FrontendOnly: false,
			Owner:        grafanaAlertingSquad,
			HideFromDocs: true,
			Created:      time.Date(2023, time.November, 10, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "logRowsPopoverMenu",
			Description:  "Enable filtering menu displayed when text of a log line is selected",
			Stage:        FeatureStageExperimental,
			FrontendOnly: true,
			Owner:        grafanaObservabilityLogsSquad,
			Created:      time.Date(2023, time.November, 16, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "pluginsSkipHostEnvVars",
			Description:  "Disables passing host environment variable to plugin processes",
			Stage:        FeatureStageExperimental,
			FrontendOnly: false,
			Owner:        grafanaPluginsPlatformSquad,
			Created:      time.Date(2023, time.November, 15, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "tableSharedCrosshair",
			Description:  "Enables shared crosshair in table panel",
			FrontendOnly: true,
			Stage:        FeatureStageExperimental,
			Owner:        grafanaBiSquad,
			Created:      time.Date(2023, time.December, 12, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:         "regressionTransformation",
			Description:  "Enables regression analysis transformation",
			Stage:        FeatureStagePublicPreview,
			FrontendOnly: true,
			Owner:        grafanaBiSquad,
			Created:      time.Date(2023, time.November, 24, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:           "displayAnonymousStats",
			Description:    "Enables anonymous stats to be shown in the UI for Grafana",
			Stage:          FeatureStageGeneralAvailability,
			FrontendOnly:   true,
			Owner:          identityAccessTeam,
			Created:        time.Date(2023, time.November, 29, 12, 0, 0, 0, time.UTC),
			AllowSelfServe: false,
			Expression:     "true", // enabled by default
		},
		{
			Name:              "alertStateHistoryAnnotationsFromLoki",
			Description:       "Enable using Loki as the source for panel annotations generated by alert rules",
			Stage:             FeatureStageExperimental,
			Owner:             grafanaAlertingSquad,
			HideFromAdminPage: true,
			HideFromDocs:      true,
			RequiresRestart:   true,
			Created:           time.Date(2023, time.November, 30, 12, 0, 0, 0, time.UTC),
		},
		{
			// this is mainly used a a way to quickly disable query hints as a safe guard for our infrastructure
			Name:           "lokiQueryHints",
			Description:    "Enables query hints for Loki",
			Stage:          FeatureStageGeneralAvailability,
			FrontendOnly:   true,
			Expression:     "true",
			Owner:          grafanaObservabilityLogsSquad,
			AllowSelfServe: false,
			Created:        time.Date(2023, time.December, 18, 12, 0, 0, 0, time.UTC),
		},
		{
			Name:            "alertingPreviewUpgrade",
			Description:     "Show Unified Alerting preview and upgrade page in legacy alerting",
			FrontendOnly:    false,
			Stage:           FeatureStageExperimental,
			Owner:           grafanaAlertingSquad,
			HideFromDocs:    true,
			RequiresRestart: true,
			Created:         time.Date(2024, time.January, 3, 12, 0, 0, 0, time.UTC),
		},
	}
)
